package com.dupt.system.service;

import java.util.Arrays;
import java.util.List;
import com.dupt.system.domain.MaterialBillDetial;
import com.dupt.system.domain.vo.MaterialBillDetialVo;

/**
 * 物料清单明细Service接口
 * 
 * @author zhuanyu.sun
 * @date 2025-06-15
 */
public interface IMaterialBillDetialService
{
    /**
     * 查询物料清单明细
     * 
     * @param materialBillMainId 物料清单明细主键
     * @return 物料清单明细
     */
    public List<MaterialBillDetialVo> selectMaterialBillDetialByMaterialBillMainId(String materialBillMainId);

    /**
     * 查询物料清单明细列表
     * 
     * @param materialBillDetial 物料清单明细
     * @return 物料清单明细集合
     */
    public List<MaterialBillDetial> selectMaterialBillDetialList(MaterialBillDetial materialBillDetial);

    /**
     * 新增物料清单明细
     * 
     * @param materialBillDetials 物料清单明细
     * @param materialBillMainId 物料清单主表ID
     * @return 结果
     */
    public int insertMaterialBillDetial(List<MaterialBillDetial> materialBillDetials, String materialBillMainId);

    /**
     * 修改物料清单明细
     * 
     * @param materialBillDetial 物料清单明细
     * @return 结果
     */
    public int updateMaterialBillDetial(MaterialBillDetial materialBillDetial);

    /**
     * 批量删除物料清单明细
     * 
     * @param materialBillMainIds 需要删除的物料清单主表主键集合
     * @return 结果
     */
    public int deleteMaterialBillDetialByMaterialBillMainIds(String[] materialBillMainIds);

    /**
     * 删除物料清单明细信息
     * 
     * @param materialBillDetialId 物料清单明细主键
     * @return 结果
     */
    public int deleteMaterialBillDetialByMaterialBillMainId(String materialBillDetialId);

    /**
     * 批量查询物料清单明细
     * @param mainIds
     * @return
     */
    public List<MaterialBillDetialVo> batchSelectMaterialBillDetialByMainIds(List<String> mainIds);
}
